<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>

  <body>
    <script>
      // 数组降维
      // 写一个函数,接收一个数组作为参数,返回结果为已经降维的数组
      // 如下这个数组经过函数的处理侯得到[1,2,3,4,5]这个结果
      //   [1, [[2], [3, [4]], 5]]
      //   [1, 2, 3, 4, 5]

      const arr = [1, [[2], [3, [4]], 5]]
      // 建立一个空数组，放置处理后的参数
      const newArr = []
      // 声明一个函数getArr
      const getArr = (arr) => {
        // 遍历
        arr.forEach((item) => {
          //   // 当item的值不为数组的时候，push进空数组中
          //   if (!Array.isArray(item)) {
          //     newArr.push(item)
          //   } else {
          //     // 反之进行遍历循环
          //     getArr(item)
          //   }
          !Array.isArray(item) ? newArr.push(item) : getArr(item)
        })
      }
      // 调用函数
      getArr(arr)
      console.log(newArr)
    </script>
  </body>
</html>
